namespace SharpGym.WinRT.Model
{
    using System;
    using System.Collections.Generic;

    public class Aluno : BaseModel
    {
        private readonly IList<Treino> _treinos = new List<Treino>();
        private DateTime _aniversario;
        private readonly List<AvaliacaoFisica> _avaliacaoFisicas = new List<AvaliacaoFisica>();
        private string _nome;
        private readonly List<RegistroDiario> _registroDiarios = new List<RegistroDiario>();
        private string _telefone;


        public virtual IList<Treino> Treinos
        {
            get { return _treinos; }
        }

        public double Idade
        {
            get
            {
                var now = DateTime.Today;
                var age = now.Year - Aniversario.Year;
                if (Aniversario > now.AddYears(-age)) age--;

                return age;
            }
        }

        public string Nome
        {
            get { return _nome; }
            set
            {
                if (Nome == value)
                    return;

                _nome = value;
                OnPropertyChanged("Nome");
            }
        }

        public string Telefone
        {
            get { return _telefone; }
            set
            {
                if (Telefone == value)
                    return;

                _telefone = value;
                OnPropertyChanged("Telefone");
            }
        }

        public DateTime Aniversario
        {
            get { return _aniversario; }
            set
            {
                if (Aniversario == value)
                    return;

                _aniversario = value;
                OnPropertyChanged("Aniversario");
            }
        }

        public List<AvaliacaoFisica> AvaliacaoFisica
        {
            get { return _avaliacaoFisicas; }
        }

        public List<RegistroDiario> RegistrosDiarios
        {
            get { return _registroDiarios; }
        }
    }
}